Systems and methods of key selection for cryptographic authentication of contactless cards

ABSTRACT

Example embodiments of systems and methods for data transmission between a contactless card and a server are provided. The card may include an applet, a counter, and a plurality of encryption keys. The applet may rotate the plurality of keys based on a predetermined key rotation, select one or more keys for a cryptographic operation, perform the operation using the selected keys and the counter to generate a cryptographic result, and transmit the result and the counter to the server. Upon receipt of the result, a server, in communication with the card and containing the plurality of encryption keys, may rotate the plurality of keys based on the predetermined key rotation, select one or more keys for decryption, wherein the keys selected by the server matches the keys selected by the applet, and perform the decryption on the result.

CROSS-REFERENCE TO RELATED APPLICATIONS

The subject application is a continuation of U.S. patent applicationSer. No. 16/781,571 filed Feb. 4, 2020, which is a continuation of U.S.patent application Ser. No. 16/589,476 filed Oct. 1, 2019, now U.S. Pat.No. 10,841,091, which is a continuation in part of U.S. patentapplication Ser. No. 16/205,119 filed Nov. 29, 2018, now U.S. Pat. No.10,581,611, which claims the benefit of U.S. Provisional PatentApplication No. 62/740,352 filed Oct. 2, 2018, the contents of which arehereby incorporated by reference in their entireties.

FIELD OF THE INVENTION

The present disclosure relates to cryptography, and more particularly,to systems and methods for the cryptographic authentication ofcontactless cards.

BACKGROUND

Data security and transaction integrity are of critical importance tobusinesses and consumers. This need continues to grow as electronictransactions constitute an increasingly large share of commercialactivity.

Email may be used as a tool to verify transactions, but email issusceptible to attack and vulnerable to hacking or other unauthorizedaccess. Short message service (SMS) messages may also be used, but thatis subject to compromise as well. Moreover, even data encryptionalgorithms, such as triple DES algorithms, have similar vulnerabilities.

Activating many cards, including for example financial cards (e.g.,credit cards and other payment cards), involves the time-consumingprocess of cardholders calling a telephone number or visiting a websiteand entering or otherwise providing card information. Further, while thegrowing use of chip-based financial cards provides more secure featuresover the previous technology (e.g., magnetic strip cards) for in-personpurchases, account access still may rely on log-in credentials (e.g.,username and password) to confirm a cardholder's identity. However, ifthe log-in credentials are compromised, another person could have accessto the user's account.

These and other deficiencies exist. Accordingly, there is a need toprovide users with an appropriate solution that overcomes thesedeficiencies to provide data security, authentication, and verificationfor contactless cards. Further, there is a need for both an improvedmethod of activating a card and an improved authentication for accountaccess.

SUMMARY

Aspects of the disclosed technology include systems and methods forcryptographic authentication of contactless cards. Various embodimentsdescribe systems and methods for implementing and managing cryptographicauthentication of contactless cards.

Embodiments of the present disclosure provide a secure encryption systemcomprising: a contactless card comprising a processor and a memory,wherein the memory includes an applet, a counter, and a plurality ofencryption keys; and a server in data communication with the contactlesscard, the server comprising a processor and a memory, the memorycontaining the plurality of encryption keys, wherein the applet isconfigured to: rotate the plurality of keys based on a predetermined keyrotation, select one or more keys from the plurality of keys for use ina cryptographic operation, perform the cryptographic operation using theselected one or more keys and the counter to generate a cryptographicresult, and transmit the cryptographic result and the counter to theserver, and wherein, upon receipt of the cryptographic result, theserver is configured to: rotate the plurality of keys based on thepredetermined key rotation, select one or more keys from the pluralityof keys for a decryption operation, wherein the plurality of keysselected by the server matches the plurality of keys selected by theapplet, perform the decryption operation on the cryptographic result.

Embodiments of the present disclosure provide a method of securelyencrypting data comprising: rotating a plurality of keys based on apredetermined key rotation, the contactless card including an applet, acounter, and the plurality of keys; selecting one or more keys from theplurality of keys for use in one or more cryptographic operations;performing the one or more cryptographic operations using the selectedone or more keys and the counter to generate a cryptographic result; andtransmitting, by the contactless card, the cryptographic result andcounter for verification.

Embodiments of the present disclosure provide a contactless cardcomprising: a processor; and a memory including an applet, a counter,and a plurality of keys, wherein the applet is configured to: rotate theplurality of keys based on a predetermined key rotation, select one ormore keys from the plurality of keys for use in a cryptographicoperation, perform the cryptographic operation using the selected one ormore keys and the counter to generate a cryptographic result, andtransmit the cryptographic result and counter for verification.

Further features of the disclosed design, and the advantages offeredthereby, are explained in greater detail hereinafter with reference tospecific example embodiments illustrated in the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a diagram of a data transmission system according to anexample embodiment.

FIG. 1B is a diagram illustrating a sequence for providing authenticatedaccess according to an example embodiment.

FIG. 2 is a diagram of a data transmission system according to anexample embodiment.

FIG. 3 is a diagram of a system using a contactless card according to anexample embodiment.

FIG. 4 is a flowchart illustrating a method of key diversificationaccording to an example embodiment.

FIG. 5A is an illustration of a contactless card according to an exampleembodiment.

FIG. 5B is an illustration of a contact pad of the contactless cardaccording to an example embodiment.

FIG. 6 is an illustration depicting a message to communicate with adevice according to an example embodiment.

FIG. 7 is an illustration depicting a message and a message formataccording to an example embodiment.

FIG. 8 is a flowchart illustrating key operations according to anexample embodiment.

FIG. 9 is a diagram of a key system according to an example embodiment.

FIG. 10 is a flowchart of a method of generating a cryptogram accordingto an example embodiment.

FIG. 11 is a flowchart illustrating a process of key diversificationaccording to an example embodiment.

FIG. 12 is a flowchart illustrating a method for card activationaccording to an example embodiment.

FIG. 13 is a secure encryption system according to an exampleembodiment.

FIG. 14 is a flowchart illustrating a method for securely encryptingdata according to an example embodiment.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The following description of embodiments provides non-limitingrepresentative examples referencing numerals to particularly describefeatures and teachings of different aspects of the invention. Theembodiments described should be recognized as capable of implementationseparately, or in combination, with other embodiments from thedescription of the embodiments. A person of ordinary skill in the artreviewing the description of embodiments should be able to learn andunderstand the different described aspects of the invention. Thedescription of embodiments should facilitate understanding of theinvention to such an extent that other implementations, not specificallycovered but within the knowledge of a person of skill in the art havingread the description of embodiments, would be understood to beconsistent with an application of the invention.

An objective of some embodiments of the present disclosure is to buildone or more keys into one or more contactless cards. In theseembodiments, the contactless card can perform authentication andnumerous other functions that may otherwise require the user to carry aseparate physical token in addition to the contactless card. Byemploying a contactless interface, contactless cards may be providedwith a method to interact and communicate between a user's device (suchas a mobile phone) and the card itself. For example, the EMV protocol,which underlies many credit card transactions, includes anauthentication process which suffices for operating systems for Android®but presents challenges for iOS®, which is more restrictive regardingnear field communication (NFC) usage, as it can be used only in aread-only manner. Exemplary embodiments of the contactless cardsdescribed herein utilize NFC technology.

FIG. 1A illustrates a data transmission system according to an exampleembodiment. As further discussed below, system 100 may includecontactless card 105, client device 110, network 115, and server 120.Although FIG. 1A illustrates single instances of the components, system100 may include any number of components.

System 100 may include one or more contactless cards 105, which arefurther explained below with reference to FIGS. 5A-5B. In someembodiments, contactless card 105 may be in wireless communication,utilizing NFC in an example, with client device 110.

System 100 may include client device 110, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a phone, a handheld PC, a personal digital assistant, athin client, a fat client, an Internet browser, or other device. Clientdevice 110 also may be a mobile device; for example, a mobile device mayinclude an iPhone, iPod, iPad from Apple® or any other mobile devicerunning Apple's iOS® operating system, any device running Microsoft'sWindows® Mobile operating system, any device running Google's Android®operating system, and/or any other smartphone, tablet, or like wearablemobile device.

The client device 110 device can include a processor and a memory, andit is understood that the processing circuitry may contain additionalcomponents, including processors, memories, error and parity/CRCcheckers, data encoders, anticollision algorithms, controllers, commanddecoders, security primitives and tamperproofing hardware, as necessaryto perform the functions described herein. The client device 110 mayfurther include a display and input devices. The display may be any typeof device for presenting visual information such as a computer monitor,a flat panel display, and a mobile device screen, including liquidcrystal displays, light-emitting diode displays, plasma panels, andcathode ray tube displays. The input devices may include any device forentering information into the user's device that is available andsupported by the user's device, such as a touch-screen, keyboard, mouse,cursor-control device, touch-screen, microphone, digital camera, videorecorder or camcorder. These devices may be used to enter informationand interact with the software and other devices described herein.

In some examples, client device 110 of system 100 may execute one ormore applications, such as software applications, that enable, forexample, network communications with one or more components of system100 and transmit and/or receive data.

Client device 110 may be in communication with one or more servers 120via one or more networks 115, and may operate as a respective front-endto back-end pair with server 120. Client device 110 may transmit, forexample from a mobile device application executing on client device 110,one or more requests to server 120. The one or more requests may beassociated with retrieving data from server 120. Server 120 may receivethe one or more requests from client device 110. Based on the one ormore requests from client device 110, server 120 may be configured toretrieve the requested data from one or more databases (not shown).Based on receipt of the requested data from the one or more databases,server 120 may be configured to transmit the received data to clientdevice 110, the received data being responsive to one or more requests.

System 100 may include one or more networks 115. In some examples,network 115 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 110 to server 120. For example,network 115 may include one or more of a fiber optics network, a passiveoptical network, a cable network, an Internet network, a satellitenetwork, a wireless local area network (LAN), a Global System for MobileCommunication, a Personal Communication Service, a Personal AreaNetwork, Wireless Application Protocol, Multimedia Messaging Service,Enhanced Messaging Service, Short Message Service, Time DivisionMultiplexing based systems, Code Division Multiple Access based systems,D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1, 802.11n and802.11g, Bluetooth, NFC, Radio Frequency Identification (RFID), Wi-Fi,and/or the like.

In addition, network 115 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 115 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 115 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 115 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 115 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 115 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 115 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

System 100 may include one or more servers 120. In some examples, server120 may include one or more processors, which are coupled to memory.Server 120 may be configured as a central system, server or platform tocontrol and call various data at different times to execute a pluralityof workflow actions. Server 120 may be configured to connect to the oneor more databases. Server 120 may be connected to at least one clientdevice 110.

FIG. 1B is a timing diagram illustrating an example sequence forproviding authenticated access according to one or more embodiments ofthe present disclosure. System 100 may comprise contactless card 105 andclient device 110, which may include an application 122 and processor124. FIG. 1B may reference similar components as illustrated in FIG. 1A.

At step 102, the application 122 communicates with the contactless card105 (e.g., after being brought near the contactless card 105).Communication between the application 122 and the contactless card 105may involve the contactless card 105 being sufficiently close to a cardreader (not shown) of the client device 110 to enable NFC data transferbetween the application 122 and the contactless card 105.

At step 104, after communication has been established between clientdevice 110 and contactless card 105, the contactless card 105 generatesa message authentication code (MAC) cryptogram. In some examples, thismay occur when the contactless card 105 is read by the application 122.In particular, this may occur upon a read, such as an NFC read, of anear field data exchange (NDEF) tag, which may be created in accordancewith the NFC Data Exchange Format. For example, a reader, such asapplication 122, may transmit a message, such as an applet selectmessage, with the applet ID of an NDEF producing applet. Uponconfirmation of the selection, a sequence of select file messagesfollowed by read file messages may be transmitted. For example, thesequence may include “Select Capabilities file”, “Read Capabilitiesfile”, and “Select NDEF file”. At this point, a counter value maintainedby the contactless card 105 may be updated or incremented, which may befollowed by “Read NDEF file.” At this point, the message may begenerated which may include a header and a shared secret. Session keysmay then be generated. The MAC cryptogram may be created from themessage, which may include the header and the shared secret. The MACcryptogram may then be concatenated with one or more blocks of randomdata, and the MAC cryptogram and a random number (RND) may be encryptedwith the session key. Thereafter, the cryptogram and the header may beconcatenated, and encoded as ASCII hex and returned in NDEF messageformat (responsive to the “Read NDEF file” message).

In some examples, the MAC cryptogram may be transmitted as an NDEF tag,and in other examples the MAC cryptogram may be included with a uniformresource indicator (e.g., as a formatted string).

In some examples, application 122 may be configured to transmit arequest to contactless card 105, the request comprising an instructionto generate a MAC cryptogram.

At step 106, the contactless card 105 sends the MAC cryptogram to theapplication 122. In some examples, the transmission of the MACcryptogram occurs via NFC, however, the present disclosure is notlimited thereto. In other examples, this communication may occur viaBluetooth, Wi-Fi, or other means of wireless data communication.

At step 108, the application 122 communicates the MAC cryptogram to theprocessor 124.

At step 112, the processor 124 verifies the MAC cryptogram pursuant toan instruction from the application 122. For example, the MAC cryptogrammay be verified, as explained below.

In some examples, verifying the MAC cryptogram may be performed by adevice other than client device 110, such as a server 120 in datacommunication with the client device 110 (as shown in FIG. 1A). Forexample, processor 124 may output the MAC cryptogram for transmission toserver 120, which may verify the MAC cryptogram.

In some examples, the MAC cryptogram may function as a digital signaturefor purposes of verification. Other digital signature algorithms, suchas public key asymmetric algorithms, e.g., the Digital SignatureAlgorithm and the RSA algorithm, or zero knowledge protocols, may beused to perform this verification.

FIG. 2 illustrates a data transmission system according to an exampleembodiment. System 200 may include a transmitting or sending device 205,a receiving or recipient device 210 in communication, for example vianetwork 215, with one or more servers 220. Transmitting or sendingdevice 205 may be the same as, or similar to, client device 110discussed above with reference to FIG. 1A. Receiving or recipient device210 may be the same as, or similar to, client device 110 discussed abovewith reference to FIG. 1A. Network 215 may be similar to network 115discussed above with reference to FIG. 1A. Server 220 may be similar toserver 120 discussed above with reference to FIG. 1A. Although FIG. 2shows single instances of components of system 200, system 200 mayinclude any number of the illustrated components.

When using symmetric cryptographic algorithms, such as encryptionalgorithms, hash-based message authentication code (HMAC) algorithms,and cipher-based message authentication code (CMAC) algorithms, it isimportant that the key remain secret between the party that originallyprocesses the data that is protected using a symmetric algorithm and thekey, and the party who receives and processes the data using the samecryptographic algorithm and the same key.

It is also important that the same key is not used too many times. If akey is used or reused too frequently, that key may be compromised. Eachtime the key is used, it provides an attacker an additional sample ofdata which was processed by the cryptographic algorithm using the samekey. The more data which the attacker has which was processed with thesame key, the greater the likelihood that the attacker may discover thevalue of the key. A key used frequently may be comprised in a variety ofdifferent attacks.

Moreover, each time a symmetric cryptographic algorithm is executed, itmay reveal information, such as side-channel data, about the key usedduring the symmetric cryptographic operation. Side-channel data mayinclude minute power fluctuations which occur as the cryptographicalgorithm executes while using the key. Sufficient measurements may betaken of the side-channel data to reveal enough information about thekey to allow it to be recovered by the attacker. Using the same key forexchanging data would repeatedly reveal data processed by the same key.

However, by limiting the number of times a particular key will be used,the amount of side-channel data which the attacker is able to gather islimited and thereby reduce exposure to this and other types of attack.As further described herein, the parties involved in the exchange ofcryptographic information (e.g., sender and recipient) can independentlygenerate keys from an initial shared master symmetric key in combinationwith a counter value, and thereby periodically replace the sharedsymmetric key being used with needing to resort to any form of keyexchange to keep the parties in sync. By periodically changing theshared secret symmetric key used by the sender and the recipient, theattacks described above are rendered impossible.

Referring back to FIG. 2 , system 200 may be configured to implement keydiversification. For example, a sender and recipient may desire toexchange data (e.g., original sensitive data) via respective devices 205and 210. As explained above, although single instances of transmittingdevice 205 and receiving device 210 may be included, it is understoodthat one or more transmitting devices 205 and one or more receivingdevices 210 may be involved so long as each party shares the same sharedsecret symmetric key. In some examples, the transmitting device 205 andreceiving device 210 may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice 205 and similarly any party holding the same secret symmetric keymay perform the functions of the receiving device 210. In some examples,the symmetric key may comprise the shared secret symmetric key which iskept secret from all parties other than the transmitting device 205 andthe receiving device 210 involved in exchanging the secure data. It isfurther understood that both the transmitting device 205 and receivingdevice 210 may be provided with the same master symmetric key, andfurther that part of the data exchanged between the transmitting device205 and receiving device 210 comprises at least a portion of data whichmay be referred to as the counter value. The counter value may comprisea number that changes each time data is exchanged between thetransmitting device 205 and the receiving device 210.

System 200 may include one or more networks 215. In some examples,network 215 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect one or more transmitting devices 205 and one ormore receiving devices 210 to server 220. For example, network 215 mayinclude one or more of a fiber optics network, a passive opticalnetwork, a cable network, an Internet network, a satellite network, awireless LAN, a Global System for Mobile Communication, a PersonalCommunication Service, a Personal Area Network, Wireless ApplicationProtocol, Multimedia Messaging Service, Enhanced Messaging Service,Short Message Service, Time Division Multiplexing based systems, CodeDivision Multiple Access based systems, D-AMPS, Wi-Fi, Fixed WirelessData, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID,Wi-Fi, and/or the like.

In addition, network 215 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 215 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 215 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 215 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 215 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 215 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 215 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

In some examples, one or more transmitting devices 205 and one or morereceiving devices 210 may be configured to communicate and transmit andreceive data between each other without passing through network 215. Forexample, communication between the one or more transmitting devices 205and the one or more receiving devices 210 may occur via at least one ofNFC, Bluetooth, RFID, Wi-Fi, and/or the like.

At block 225, when the transmitting device 205 is preparing to processthe sensitive data with symmetric cryptographic operation, the sendermay update a counter. In addition, the transmitting device 205 mayselect an appropriate symmetric cryptographic algorithm, which mayinclude at least one of a symmetric encryption algorithm, HMACalgorithm, and a CMAC algorithm. In some examples, the symmetricalgorithm used to process the diversification value may comprise anysymmetric cryptographic algorithm used as needed to generate the desiredlength diversified symmetric key. Non-limiting examples of the symmetricalgorithm may include a symmetric encryption algorithm such as 3DES orAES128; a symmetric HMAC algorithm, such as HMAC-SHA-256; and asymmetric CMAC algorithm such as AES-CMAC. It is understood that if theoutput of the selected symmetric algorithm does not generate asufficiently long key, techniques such as processing multiple iterationsof the symmetric algorithm with different input data and the same masterkey may produce multiple outputs which may be combined as needed toproduce sufficient length keys.

At block 230, the transmitting device 205 may take the selectedcryptographic algorithm, and using the master symmetric key, process thecounter value. For example, the sender may select a symmetric encryptionalgorithm, and use a counter which updates with every conversationbetween the transmitting device 205 and the receiving device 210. Thetransmitting device 205 may then encrypt the counter value with theselected symmetric encryption algorithm using the master symmetric key,creating a diversified symmetric key.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice 205 and the receiving device 210 at block 230 without encryption.

At block 235, the diversified symmetric key may be used to process thesensitive data before transmitting the result to the receiving device210. For example, the transmitting device 205 may encrypt the sensitivedata using a symmetric encryption algorithm using the diversifiedsymmetric key, with the output comprising the protected encrypted data.The transmitting device 205 may then transmit the protected encrypteddata, along with the counter value, to the receiving device 210 forprocessing.

At block 240, the receiving device 210 may first take the counter valueand then perform the same symmetric encryption using the counter valueas input to the encryption, and the master symmetric key as the key forthe encryption. The output of the encryption may be the same diversifiedsymmetric key value that was created by the sender.

At block 245, the receiving device 210 may then take the protectedencrypted data and using a symmetric decryption algorithm along with thediversified symmetric key, decrypt the protected encrypted data.

At block 250, as a result of the decrypting the protected encrypteddata, the original sensitive data may be revealed.

The next time sensitive data needs to be sent from the sender to therecipient via respective transmitting device 205 and receiving device210, a different counter value may be selected producing a differentdiversified symmetric key. By processing the counter value with themaster symmetric key and same symmetric cryptographic algorithm, boththe transmitting device 205 and receiving device 210 may independentlyproduce the same diversified symmetric key. This diversified symmetrickey, not the master symmetric key, is used to protect the sensitivedata.

As explained above, both the transmitting device 205 and receivingdevice 210 each initially possess the shared master symmetric key. Theshared master symmetric key is not used to encrypt the originalsensitive data. Because the diversified symmetric key is independentlycreated by both the transmitting device 205 and receiving device 210, itis never transmitted between the two parties. Thus, an attacker cannotintercept the diversified symmetric key and the attacker never sees anydata which was processed with the master symmetric key. Only the countervalue is processed with the master symmetric key, not the sensitivedata. As a result, reduced side-channel data about the master symmetrickey is revealed. Moreover, the operation of the transmitting device 205and the receiving device 210 may be governed by symmetric requirementsfor how often to create a new diversification value, and therefore a newdiversified symmetric key. In an embodiment, a new diversification valueand therefore a new diversified symmetric key may be created for everyexchange between the transmitting device 205 and receiving device 210.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device 205 to thereceiving device 210; the full value of a counter value sent from thetransmitting device 205 and the receiving device 210; a portion of acounter value sent from the transmitting device 205 and the receivingdevice 210; a counter independently maintained by the transmittingdevice 205 and the receiving device 210 but not sent between the twodevices; a one-time-passcode exchanged between the transmitting device205 and the receiving device 210; and a cryptographic hash of thesensitive data. In some examples, one or more portions of the keydiversification value may be used by the parties to create multiplediversified keys. For example, a counter may be used as the keydiversification value. Further, a combination of one or more of theexemplary key diversification values described above may be used.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystems and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice 205 and the receiving device 210. In effect, this may create aone-time use key, such as a single-use session key.

FIG. 3 illustrates a system 300 using a contactless card. System 300 mayinclude a contactless card 305, one or more client devices 310, network315, servers 320, 325, one or more hardware security modules 330, and adatabase 335. Although FIG. 3 illustrates single instances of thecomponents, system 300 may include any number of components.

System 300 may include one or more contactless cards 305, which arefurther explained below with respect to FIGS. 5A-5B. In some examples,contactless card 305 may be in wireless communication, for example NFCcommunication, with client device 310. For example, contactless card 305may comprise one or more chips, such as a radio frequency identificationchip, configured to communication via NFC or other short-rangeprotocols. In other embodiments, contactless card 305 may communicatewith client device 310 through other means including, but not limitedto, Bluetooth, satellite, Wi-Fi, wired communications, and/or anycombination of wireless and wired connections. According to someembodiments, contactless card 305 may be configured to communicate withcard reader 313 of client device 310 through NFC when contactless card305 is within range of card reader 313. In other examples,communications with contactless card 305 may be accomplished through aphysical interface, e.g., a universal serial bus interface or a cardswipe interface.

System 300 may include client device 310, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to: e.g., a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a mobile device, a phone, a handheld PC, a personal digitalassistant, a thin client, a fat client, an Internet browser, or otherdevice. One or more client devices 310 also may be a mobile device; forexample, a mobile device may include an iPhone, iPod, iPad from Apple®or any other mobile device running Apple's iOS® operating system, anydevice running Microsoft's Windows® Mobile operating system, any devicerunning Google's Android® operating system, and/or any other smartphoneor like wearable mobile device. In some examples, the client device 310may be the same as, or similar to, a client device 110 as described withreference to FIG. 1A or FIG. 1B.

Client device 310 may be in communication with one or more servers 320and 325 via one or more networks 315. Client device 310 may transmit,for example from an application 311 executing on client device 310, oneor more requests to one or more servers 320 and 325. The one or morerequests may be associated with retrieving data from one or more servers320 and 325. Servers 320 and 325 may receive the one or more requestsfrom client device 310. Based on the one or more requests from clientdevice 310, one or more servers 320 and 325 may be configured toretrieve the requested data from one or more databases 335. Based onreceipt of the requested data from the one or more databases 335, one ormore servers 320 and 325 may be configured to transmit the received datato client device 310, the received data being responsive to one or morerequests.

System 300 may include one or more hardware security modules (HSM) 330.For example, one or more HSMs 330 may be configured to perform one ormore cryptographic operations as disclosed herein. In some examples, oneor more HSMs 330 may be configured as special purpose security devicesthat are configured to perform the one or more cryptographic operations.The HSMs 330 may be configured such that keys are never revealed outsidethe HSM 330, and instead are maintained within the HSM 330. For example,one or more HSMs 330 may be configured to perform at least one of keyderivations, decryption, and MAC operations. The one or more HSMs 330may be contained within, or may be in data communication with, servers320 and 325.

System 300 may include one or more networks 315. In some examples,network 315 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 315 to server 320 and 325. Forexample, network 315 may include one or more of a fiber optics network,a passive optical network, a cable network, a cellular network, anInternet network, a satellite network, a wireless LAN, a Global Systemfor Mobile Communication, a Personal Communication Service, a PersonalArea Network, Wireless Application Protocol, Multimedia MessagingService, Enhanced Messaging Service, Short Message Service, TimeDivision Multiplexing based systems, Code Division Multiple Access basedsystems, D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1,802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and/or any combinationof networks thereof. As a non-limiting example, communications fromcontactless card 305 and client device 310 may comprise NFCcommunication, cellular network between client device 310 and a carrier,and Internet between the carrier and a back-end.

In addition, network 315 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a local area network, or a globalnetwork such as the Internet. In addition, network 315 may support anInternet network, a wireless communication network, a cellular network,or the like, or any combination thereof. Network 315 may further includeone network, or any number of the exemplary types of networks mentionedabove, operating as a stand-alone network or in cooperation with eachother. Network 315 may utilize one or more protocols of one or morenetwork elements to which they are communicatively coupled. Network 315may translate to or from other protocols to one or more protocols ofnetwork devices. Although network 315 is depicted as a single network,it should be appreciated that according to one or more examples, network315 may comprise a plurality of interconnected networks, such as, forexample, the Internet, a service provider's network, a cable televisionnetwork, corporate networks, such as credit card association networks,and home networks.

In various examples according to the present disclosure, client device310 of system 300 may execute one or more applications 311, and includeone or more processors 312, and one or more card readers 313. Forexample, one or more applications 311, such as software applications,may be configured to enable, for example, network communications withone or more components of system 300 and transmit and/or receive data.It is understood that although only single instances of the componentsof client device 310 are illustrated in FIG. 3 , any number of devices310 may be used. Card reader 313 may be configured to read from and/orcommunicate with contactless card 305. In conjunction with the one ormore applications 311, card reader 313 may communicate with contactlesscard 305.

The application 311 of any of client device 310 may communicate with thecontactless card 305 using short-range wireless communication (e.g.,NFC). The application 311 may be configured to interface with a cardreader 313 of client device 310 configured to communicate with acontactless card 305. As should be noted, those skilled in the art wouldunderstand that a distance of less than twenty centimeters is consistentwith NFC range.

In some embodiments, the application 311 communicates through anassociated reader (e.g., card reader 313) with the contactless card 305.

In some embodiments, card activation may occur without userauthentication. For example, a contactless card 305 may communicate withthe application 311 through the card reader 313 of the client device 310through NFC. The communication (e.g., a tap of the card proximate thecard reader 313 of the client device 310) allows the application 311 toread the data associated with the card and perform an activation. Insome cases, the tap may activate or launch application 311 and theninitiate one or more actions or communications with an account server325 to activate the card for subsequent use. In some cases, if theapplication 311 is not installed on client device 310, a tap of the cardagainst the card reader 313 may initiate a download of the application311 (e.g., navigation to an application download page). Subsequent toinstallation, a tap of the card may activate or launch the application311, and then initiate (e.g., via the application or other back-endcommunication) activation of the card. After activation, the card may beused in various transactions including commercial transactions.

According to some embodiments, the contactless card 305 may include avirtual payment card. In those embodiments, the application 311 mayretrieve information associated with the contactless card 305 byaccessing a digital wallet implemented on the client device 310, whereinthe digital wallet includes the virtual payment card. In some examples,virtual payment card data may include one or more static or dynamicallygenerated virtual card numbers.

Server 320 may comprise a web server in communication with database 335.Server 325 may comprise an account server. In some examples, server 320may be configured to validate one or more credentials from contactlesscard 305 and/or client device 310 by comparison with one or morecredentials in database 335. Server 325 may be configured to authorizeone or more requests, such as payment and transaction, from contactlesscard 305 and/or client device 310.

FIG. 4 illustrates a method 400 of key diversification according to anexample of the present disclosure. Method 400 may include a transmittingdevice and receiving device similar to transmitting device 205 andreceiving device 210 referenced in FIG. 2 .

For example, a sender and recipient may desire to exchange data (e.g.,original sensitive data) via a transmitting device and a receivingdevice. As explained above, although these two parties may be included,it is understood that one or more transmitting devices and one or morereceiving devices may be involved so long as each party shares the sameshared secret symmetric key. In some examples, the transmitting deviceand receiving device may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice and similarly any party holding the same secret symmetric key mayperform the functions of the receiving device. In some examples, thesymmetric key may comprise the shared secret symmetric key which is keptsecret from all parties other than the transmitting device and thereceiving device involved in exchanging the secure data. It is furtherunderstood that both the transmitting device and receiving device may beprovided with the same master symmetric key, and further that part ofthe data exchanged between the transmitting device and receiving devicecomprises at least a portion of data which may be referred to as thecounter value. The counter value may comprise a number that changes eachtime data is exchanged between the transmitting device and the receivingdevice.

At block 410, a transmitting device and receiving device may beprovisioned with the same master key, such as the same master symmetrickey. When the transmitting device is preparing to process the sensitivedata with symmetric cryptographic operation, the sender may update acounter. In addition, the transmitting device may select an appropriatesymmetric cryptographic algorithm, which may include at least one of asymmetric encryption algorithm, HMAC algorithm, and a CMAC algorithm. Insome examples, the symmetric algorithm used to process thediversification value may comprise any symmetric cryptographic algorithmused as needed to generate the desired length diversified symmetric key.Non-limiting examples of the symmetric algorithm may include a symmetricencryption algorithm such as 3DES or AES128; a symmetric HMAC algorithm,such as HMAC-SHA-256; and a symmetric CMAC algorithm, such as AES-CMAC.It is understood that if the output of the selected symmetric algorithmdoes not generate a sufficiently long key, techniques such as processingmultiple iterations of the symmetric algorithm with different input dataand the same master key may produce multiple outputs which may becombined as needed to produce sufficient length keys.

The transmitting device may take the selected cryptographic algorithm,and using the master symmetric key, process the counter value. Forexample, the sender may select a symmetric encryption algorithm, and usea counter which updates with every conversation between the transmittingdevice and the receiving device.

At block 420, the transmitting device may then encrypt the counter valuewith the selected symmetric encryption algorithm using the mastersymmetric key, creating a diversified symmetric key. The diversifiedsymmetric key may be used to process the sensitive data beforetransmitting the result to the receiving device. For example, thetransmitting device may encrypt the sensitive data using a symmetricencryption algorithm using the diversified symmetric key, with theoutput comprising the protected encrypted data. The transmitting devicemay then transmit the protected encrypted data, along with the countervalue, to the receiving device for processing. In some examples, acryptographic operation other than encryption may be performed, and aplurality of cryptographic operations may be performed using thediversified symmetric keys prior to transmittal of the protected data.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice and the receiving device at block 420 without encryption.

At block 430, sensitive data may be protected using one or morecryptographic algorithms and the diversified keys. The diversifiedsession keys, which may be created by the key diversification which usesthe counter, may be used with one or more cryptographic algorithms toprotect the sensitive data. For example, data may be processed by a MACusing a first diversified session key, and the resulting output may beencrypted using the second diversified session key producing theprotected data.

At block 440, the receiving device may perform the same symmetricencryptions using the counter value as input to the encryptions and themaster symmetric keys as the keys for the encryption. The output of theencryptions may be the same diversified symmetric key values that werecreated by the sender. For example, the receiving device mayindependently create its own copies of the first and second diversifiedsession keys using the counter. Then, the receiving device may decryptthe protected data using the second diversified session key to revealthe output of the MAC created by the transmitting device. The receivingdevice may then process the resultant data through the MAC operationusing the first diversified session key.

At block 450, the receiving device may use the diversified keys with oneor more cryptographic algorithms to validate the protected data.

At block 460, the original data may be validated. If the output of theMAC operation (via the receiving device using the first diversifiedsession key) matches the MAC output revealed by decryption, then thedata may be deemed valid.

The next time sensitive data needs to be sent from the transmittingdevice to the receiving device, a different counter value may beselected, which produces a different diversified symmetric key. Byprocessing the counter value with the master symmetric key and samesymmetric cryptographic algorithm, both the transmitting device andreceiving device may independently produce the same diversifiedsymmetric key. This diversified symmetric key, not the master symmetrickey, is used to protect the sensitive data.

As explained above, both the transmitting device and receiving deviceeach initially possess the shared master symmetric key. The sharedmaster symmetric key is not used to encrypt the original sensitive data.Because the diversified symmetric key is independently created by boththe transmitting device and receiving device, it is never transmittedbetween the two parties. Thus, an attacker cannot intercept thediversified symmetric key and the attacker never sees any data which wasprocessed with the master symmetric key. Only the small counter value isprocessed with the master symmetric key, not the sensitive data. As aresult, reduced side-channel data about the master symmetric key isrevealed. Moreover, the sender and the recipient may agree, for exampleby prior arrangement or other means, how often to create a newdiversification value, and therefore a new diversified symmetric key. Inan embodiment, a new diversification value and therefore a newdiversified symmetric key may be created for every exchange between thetransmitting device and receiving device.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device to thereceiving device; the full value of a counter value sent from thetransmitting device and the receiving device; a portion of a countervalue sent from the transmitting device and the receiving device; acounter independently maintained by the transmitting device and thereceiving device but not sent between the two; a one-time-passcodeexchanged between the transmitting device and the receiving device;cryptographic hash of the sensitive data. In some examples, one or moreportions of the key diversification value may be used by the parties tocreate multiple diversified keys. For example, a counter may be used asthe key diversification value.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystem and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice and the receiving device. In effect, this may create a one-timeuse key, such as a single session key.

In other examples, such as to limit the number of times of use of themaster symmetric key, it may be agreed upon by the sender oftransmitting device and recipient of the receiving device that a newdiversification value, and therefore a new diversified symmetric key,will happen only periodically. In one example, this may be after apre-determined number of uses, such as every 10 transmissions betweenthe transmitting device and the receiving device. In another example,this may be after a certain time period, a certain time period after atransmission, or on a periodic basis (e.g., daily at a designated time;weekly at a designated time on a designated day). In another example,this may be every time the receiving device signals to the transmittingdevice that it desires to change the key on the next communication. Thismay be controlled on policy and may be varied due to, for example, thecurrent risk level perceived by the recipient of the receiving device.

FIG. 5A illustrates one or more contactless cards 500, which maycomprise a payment card, such as a credit card, debit card, or giftcard, issued by a service provider 505 displayed on the front or back ofthe card 500. In some examples, the contactless card 500 is not relatedto a payment card, and may comprise, without limitation, anidentification card. In some examples, the payment card may comprise adual interface contactless payment card. The contactless card 500 maycomprise a substrate 510, which may include a single layer or one ormore laminated layers composed of plastics, metals, and other materials.Exemplary substrate materials include polyvinyl chloride, polyvinylchloride acetate, acrylonitrile butadiene styrene, polycarbonate,polyesters, anodized titanium, palladium, gold, carbon, paper, andbiodegradable materials. In some examples, the contactless card 500 mayhave physical characteristics compliant with the ID-1 format of theISO/IEC 7810 standard, and the contactless card may otherwise becompliant with the ISO/IEC 14443 standard. However, it is understoodthat the contactless card 500 according to the present disclosure mayhave different characteristics, and the present disclosure does notrequire a contactless card to be implemented in a payment card.

The contactless card 500 may also include identification information 515displayed on the front and/or back of the card, and a contact pad 520.The contact pad 520 may be configured to establish contact with anothercommunication device, such as a user device, smart phone, laptop,desktop, or tablet computer. The contactless card 500 may also includeprocessing circuitry, antenna and other components not shown in FIG. 5A.These components may be located behind the contact pad 520 or elsewhereon the substrate 510. The contactless card 500 may also include amagnetic strip or tape, which may be located on the back of the card(not shown in FIG. 5A).

As illustrated in FIG. 5B, the contact pad 520 of FIG. 5A may includeprocessing circuitry 525 for storing and processing information,including a microprocessor 530 and a memory 535. It is understood thatthe processing circuitry 525 may contain additional components,including processors, memories, error and parity/CRC checkers, dataencoders, anticollision algorithms, controllers, command decoders,security primitives and tamperproofing hardware, as necessary to performthe functions described herein.

The memory 535 may be a read-only memory, write-once read-multiplememory or read/write memory, e.g., RAM, ROM, and EEPROM, and thecontactless card 500 may include one or more of these memories. Aread-only memory may be factory programmable as read-only or one-timeprogrammable. One-time programmability provides the opportunity to writeonce then read many times. A write once/read-multiple memory may beprogrammed at a point in time after the memory chip has left thefactory. Once the memory is programmed, it may not be rewritten, but itmay be read many times. A read/write memory may be programmed andre-programed many times after leaving the factory. It may also be readmany times.

The memory 535 may be configured to store one or more applets 540, oneor more counters 545, and a customer identifier 550. The one or moreapplets 540 may comprise one or more software applications configured toexecute on one or more contactless cards, such as Java Card applet.However, it is understood that applets 540 are not limited to Java Cardapplets, and instead may be any software application operable oncontactless cards or other devices having limited memory. The one ormore counters 545 may comprise a numeric counter sufficient to store aninteger. The customer identifier 550 may comprise a unique alphanumericidentifier assigned to a user of the contactless card 500, and theidentifier may distinguish the user of the contactless card from othercontactless card users. In some examples, the customer identifier 550may identify both a customer and an account assigned to that customerand may further identify the contactless card associated with thecustomer's account.

The processor and memory elements of the foregoing exemplary embodimentsare described with reference to the contact pad, but the presentdisclosure is not limited thereto. It is understood that these elementsmay be implemented outside of the pad 520 or entirely separate from it,or as further elements in addition to processor 530 and memory 535elements located within the contact pad 520.

In some examples, the contactless card 500 may comprise one or moreantennas 555. The one or more antennas 555 may be placed within thecontactless card 500 and around the processing circuitry 525 of thecontact pad 520. For example, the one or more antennas 555 may beintegral with the processing circuitry 525 and the one or more antennas555 may be used with an external booster coil. As another example, theone or more antennas 555 may be external to the contact pad 520 and theprocessing circuitry 525.

In an embodiment, the coil of contactless card 500 may act as thesecondary of an air core transformer. The terminal may communicate withthe contactless card 500 by cutting power or amplitude modulation. Thecontactless card 500 may infer the data transmitted from the terminalusing the gaps in the contactless card's power connection, which may befunctionally maintained through one or more capacitors. The contactlesscard 500 may communicate back by switching a load on the contactlesscard's coil or load modulation. Load modulation may be detected in theterminal's coil through interference.

As explained above, the contactless cards 500 may be built on a softwareplatform operable on smart cards or other devices having limited memory,such as JavaCard, and one or more or more applications or applets may besecurely executed. Applets may be added to contactless cards to providea one-time password (OTP) for multifactor authentication (MFA) invarious mobile application-based use cases. Applets may be configured torespond to one or more requests, such as near field data exchangerequests, from a reader, such as a mobile NFC reader, and produce anNDEF message that comprises a cryptographically secure OTP encoded as anNDEF text tag.

FIG. 6 illustrates NDEF short-record layout (SR=1) 600 according to anexample embodiment. One or more applets may be configured to encode theOTP as an NDEF type 4 well known type text tag. In some examples, NDEFmessages may comprise one or more records. The applets may be configuredto add one or more static tag records in addition to the OTP record.Exemplary tags include, without limitation, Tag type: well known type,text, encoding English (en); Applet ID: D2760000850101; Capabilities:read-only access; Encoding: the authentication message may be encoded asASCII hex; type-length-value (TLV) data may be provided as apersonalization parameter that may be used to generate the NDEF message.In an embodiment, the authentication template may comprise the firstrecord, with a well-known index for providing the actual dynamicauthentication data.

FIG. 7 illustrates a message 710 and a message format 720 according toan example embodiment. In one example, if additional tags are to beadded, the first byte may change to indicate message begin, but not end,and a subsequent record may be added. Because ID length is zero, IDlength field and ID are omitted from the record. An example message mayinclude: UDK AUT key; Derived AUT session key (using 0x00000050);Version 1.0; pATC=0x00000050; RND=4838FB7DC171B89E; MAC=<eight computedbytes>.

In some examples, data may be stored in the contactless card atpersonalization time by implementing STORE DATA (E2) under securechannel protocol 2. One or more values may be read by thepersonalization bureau from the EMBOSS files (in a section designated bythe Applet ID) and one or more store data commands may be transmitted tothe contactless card after authentication and secure channelestablishment.

pUID may comprise a 16-digit BCD encoded number. In some examples, pUIDmay comprise 14 digits.

Length Item (bytes) Encrypted? Notes pUID 8 No AutKey 16 Yes 3DES Keyfor Deriving MAC session keys AutKCV 3 No Key Check Value DEKKey 16 Yes3DES Key for deriving Encryption session key DEKKCV 3 No Key Check ValueCard Shared 4 bytes No 4 Byte True Random number Random (pre-generated)NTLV X Bytes No TLV data for NDEF message

In some examples, the one or more applets may be configured to maintainits personalization state to allow personalization only if unlocked andauthenticated. Other states may comprise standard statespre-personalization. On entering into a terminated state, the one ormore applets may be configured to remove personalization data. In theterminated state, the one or more applets may be configured to stopresponding to all application protocol data unit (APDU) requests.

The one or more applets may be configured to maintain an applet version(2 bytes), which may be used in the authentication message. In someexamples, this may be interpreted as most significant byte majorversion, least significant byte minor version. The rules for each of theversions are configured to interpret the authentication message: Forexample, regarding the major version, this may include that each majorversion comprise a specific authentication message layout and specificalgorithms. For the minor version, this may include no changes to theauthentication message or cryptographic algorithms, and changes tostatic tag content, in addition to bug fixes, security hardening, etc.

In some examples, the one or more applets may be configured to emulatean RFID tag. The RFID tag may include one or more polymorphic tags. Insome examples, each time the tag is read, different cryptographic datais presented that may indicate the authenticity of the contactless card.Based on the one or more applications, an NFC read of the tag may beprocessed, the token may be transmitted to a server, such as a backendserver, and the token may be validated at the server.

In some examples, the contactless card and server may include certaindata such that the card may be properly identified. The contactless cardmay comprise one or more unique identifiers. Each time a read operationtakes place, a counter may be configured to update. In some examples,each time the card is read, it is transmitted to the server forvalidation and determines whether the counter is equal (as part of thevalidation).

The one or more counters may be configured to prevent a replay attack.For example, if a cryptogram has been obtained and replayed, thatcryptogram is immediately rejected if the counter has been read or usedor otherwise passed over. If the counter has not been used, it may bereplayed. In some examples, the counter that is updated on the card isdifferent from the counter that is updated for transactions. In someexamples, the contactless card may comprise a first applet, which may bea transaction applet, and a second applet. Each applet may comprise acounter.

In some examples, the counter may get out of sync between thecontactless card and one or more servers. For example, the contactlesscard may be activated causing the counter to be updated and a newcommunication to be generated by the contactless card, but thecommunication may be not be transmitted for processing at the one ormore servers. This may cause the counter of the contactless card and thecounter maintained at the one or more servers to get out of sync. Thismay occur unintentionally including, for example, where a card is storedadjacent to a device (e.g., carried in a pocket with a device) and wherethe contactless card is read at an angle may include the card beingmisaligned or not positioned such that the contactless card is poweredup an the NFC field but is not readable. If the contactless card ispositioned adjacent to a device, the device's NFC field may be turned onto power the contactless card causing the counter therein to be updated,but no application on the device receives the communication.

To keep the counter in sync, an application, such as a backgroundapplication, may be executed that would be configured to detect when themobile device wakes up and synchronize with the one or more serversindicating that a read that occurred due to detection to then move thecounter forward. Since the counters of the contactless card and the oneor more servers may get out of sync, the one or more servers may beconfigured to allow the counter of the contactless card to be updated athreshold or predetermined number of times before it is read by the oneor more servers and still be considered valid. For example, if thecounter is configured to increment (or decrement) by one for eachoccurrence indicating activation of the contactless card, the one ormore servers may allow any counter value it reads from the contactlesscard as valid, or any counter value within a threshold range (e.g., from1 to 10). Moreover, the one or more servers may be configured to requesta gesture associated with the contactless card, such as a user tap, ifit reads a counter value which has advanced beyond 10, but below anotherthreshold range value (such as 1000). From the user tap, if the countervalue is within a desired or acceptance range, authentication succeeds.

FIG. 8 is a flowchart illustrating key operations 800 according to anexample embodiment. As illustrated in FIG. 8 , at block 810, two bankidentifier number (BIN) level master keys may be used in conjunctionwith the account identifier and card sequence number to produce twounique derived keys (UDKs) per card. In some examples, a bank identifiernumber may comprise one number or a combination of one or more numbers,such as an account number or an unpredictable number provided by one ormore servers, may be used for session key generation and/ordiversification. The UDKs (AUTKEY and ENCKEY) may be stored on the cardduring the personalization process.

At block 820, the counter may be used as the diversification data, sinceit changes with each use and provides a different session key each time,as opposed to the master key derivation in which one unique set of keysper card is produced. In some examples, it is preferable to use the4-byte method for both operations. Accordingly, at block 820, twosession keys may be created for each transaction from the UDKs, i.e.,one session key from AUTKEY and one session key from ENCKEY. In thecard, for the MAC key (i.e., the session key created from AUTKEY), thelow order of two bytes of the OTP counter may be used fordiversification. For the ENC key (i.e., the session key created fromENCKEY), the full length of the OTP counter may be used for the ENC key.

At block 830, the MAC key may be used for preparing the MAC cryptogram,and the ENC key may be used to encrypt the cryptogram. For example, theMAC session key may be used to prepare the cryptogram, and the resultmay be encrypted with the ENC key before it is transmitted to the one ormore servers.

At block 840, verification and processing of the MAC is simplifiedbecause 2-byte diversification is directly supported in the MACauthentication functions of payment HSMs. Decryption of the cryptogramis performed prior to verification of the MAC. The session keys areindependently derived at the one or more servers, resulting in a firstsession key (the ENC session key) and a second session key (the MACsession key). The second derived key (i.e., the ENC session key) may beused to decrypt the data, and the first derived key (i.e., the MACsession key) may be used to verify the decrypted data.

For the contactless card, a different unique identifier is derived whichmay be related to the application primary account number (PAN) and PANsequence number, which is encoded in the card. The key diversificationmay be configured to receive the identifier as input with the master keysuch that one or more keys may be created for each contactless card. Insome examples, these diversified keys may comprise a first key and asecond key. The first key may include an authentication master key (CardCryptogram Generation/Authentication Key—Card-Key-Auth), and may befurther diversified to create a MAC session key used when generating andverifying a MAC cryptogram. The second key may comprise an encryptionmaster key (Card Data Encryption Key—Card-Key-DEK), and may be furtherdiversified to create an ENC session key used when encrypting anddecrypting enciphered data. In some examples, the first and the secondkeys may be created by diversifying the issuer master keys by combiningthem with the card's unique ID number (pUID) and the PAN sequence number(PSN) of a payment applet. The pUID may comprise a 16-digit numericalvalue. As explained above, pUID may comprise a 16 digit BCD encodednumber. In some examples, pUID may comprise a 14-digit numerical value.

In some examples, since the EMV session key derivation method may wrapat 2{circumflex over ( )}16 uses, the counter such as the full 32-bitcounter may be added to the initialization arrays of the diversificationmethod.

In other examples, such as credit cards, a number, such as an accountnumber or an unpredictable number provided by one or more servers, maybe used for session key generation and/or diversification.

FIG. 9 illustrates a diagram of a system 900 configured to implement oneor more embodiments of the present disclosure. As explained below,during the contactless card creation process, two cryptographic keys maybe assigned uniquely for each card. The cryptographic keys may comprisesymmetric keys which may be used in both encryption and decryption ofdata. Triple DES (3DES) algorithm may be used by EMV and it isimplemented by hardware in the contactless card. By using a keydiversification process, one or more keys may be derived from a masterkey based upon uniquely identifiable information for each entity thatrequires a key.

Regarding master key management, two issuer master keys 905, 910 may berequired for each part of the portfolio on which the one or more appletsis issued. For example, the first master key 905 may comprise an IssuerCryptogram Generation/Authentication Key (Iss-Key-Auth) and the secondmaster key 910 may comprise an Issuer Data Encryption Key (Iss-Key-DEK).As further explained herein, two issuer master keys 905, 910 arediversified into card master keys 925, 930, which are unique for eachcard. In some examples, a network profile record ID (pNPR) 915 andderivation key index (pDKI) 920, as back office data, may be used toidentify which Issuer Master Keys 905, 910 to use in the cryptographicprocesses for authentication. The system performing the authenticationmay be configured to retrieve values of pNPR 915 and pDKI 920 for acontactless card at the time of authentication.

In some examples, to increase the security of the solution, a sessionkey may be derived (such as a unique key per session) but rather thanusing the master key, the unique card-derived keys and the counter maybe used as diversification data, as explained above. For example, eachtime the card is used in operation, a different key may be used forcreating the message authentication code (MAC) and for performing theencryption. Regarding session key generation, the keys used to generatethe cryptogram and encipher the data in the one or more applets maycomprise session keys based on the card unique keys (Card-Key-Auth 925and Card-Key-Dek 930). The session keys (Aut-Session-Key 935 andDEK-Session-Key 940) may be generated by the one or more applets andderived by using the application transaction counter (pATC) 945 with oneor more algorithms. To fit data into the one or more algorithms, onlythe 2 low order bytes of the 4-byte pATC 945 is used. In some examples,the four byte session key derivation method may comprise: F1:=PATC(lower2 bytes)∥‘F0’∥PATC (four bytes) F1:=PATC(lower 2 bytes)∥‘0F’∥‘00’∥PATC(four bytes) SK:={(ALG(MK) [F1])∥ALG (MK) [F2]}, where ALG may include3DES ECB and MK may include the card unique derived master key.

As described herein, one or more MAC session keys may be derived usingthe lower two bytes of pATC 945 counter. At each tap of the contactlesscard, pATC 945 is configured to be updated, and the card master keysCard-Key-AUTH 925 and Card-Key-DEK 930 are further diversified into thesession keys Aut-Session-Key 935 and DEK-Session-KEY 940. pATC 945 maybe initialized to zero at personalization or applet initialization time.In some examples, the pATC counter 945 may be initialized at or beforepersonalization, and may be configured to increment by one at each NDEFread.

Further, the update for each card may be unique, and assigned either bypersonalization, or algorithmically assigned by pUID or otheridentifying information. For example, odd numbered cards may incrementor decrement by 2 and even numbered cards may increment or decrement by5. In some examples, the update may also vary in sequential reads, suchthat one card may increment in sequence by 1, 3, 5, 2, 2, . . .repeating. The specific sequence or algorithmic sequence may be definedat personalization time, or from one or more processes derived fromunique identifiers. This can make it harder for a replay attacker togeneralize from a small number of card instances.

The authentication message may be delivered as the content of a textNDEF record in hexadecimal ASCII format. In some examples, only theauthentication data and an 8-byte random number followed by MAC of theauthentication data may be included. In some examples, the random numbermay precede cryptogram A and may be one block long. In other examples,there may be no restriction on the length of the random number. Infurther examples, the total data (i.e., the random number plus thecryptogram) may be a multiple of the block size. In these examples, anadditional 8-byte block may be added to match the block produced by theMAC algorithm. As another example, if the algorithms employed used16-byte blocks, even multiples of that block size may be used, or theoutput may be automatically, or manually, padded to a multiple of thatblock size.

The MAC may be performed by a function key (AUT-Session-Key) 935. Thedata specified in cryptogram may be processed with javacard.signaturemethod: ALG_DES_MAC8_ISO9797_1_M2_ALG3 to correlate to EMV ARQCverification methods. The key used for this computation may comprise asession key AUT-Session-Key 935, as explained above. As explained above,the low order two bytes of the counter may be used to diversify for theone or more MAC session keys. As explained below, AUT-Session-Key 935may be used to MAC data 950, and the resulting data or cryptogram A 955and random number RND may be encrypted using DEK-Session-Key 940 tocreate cryptogram B or output 960 sent in the message.

In some examples, one or more HSM commands may be processed fordecrypting such that the final 16 (binary, 32 hex) bytes may comprise a3DES symmetric encrypting using CBC mode with a zero IV of the randomnumber followed by MAC authentication data. The key used for thisencryption may comprise a session key DEK-Session-Key 940 derived fromthe Card-Key-DEK 930. In this case, the ATC value for the session keyderivation is the least significant byte of the counter pATC 945.

The format below represents a binary version example embodiment.Further, in some examples, the first byte may be set to ASCII ‘A’.

Message Format 1 2 4 8 8 0x43 (Message Type ‘A’) Version pATC RNDCryptogram A (MAC) Cryptogram A (MAC) 8 bytes MAC of 2 8 4 4 18 bytesinput data Version pUID pATC Shared Secret

Message Format 1 2 4 16 0x43 (Message Type ‘A’) Version pATC CryptogramB Cryptogram A (MAC) 8 bytes MAC of 2 8 4 4 18 bytes input data VersionpUID pATC Shared Secret Cryptogram B 16 Sym Encryption of 8 8 RNDCryptogram A

Another exemplary format is shown below. In this example, the tag may beencoded in hexadecimal format.

Message Format 2 8 4 8 8 Version pUID pATC RND Cryptogram A (MAC) 8bytes 8 8 4 4 18 bytes input data pUID pUID pATC Shared Secret

Message Format 2 8 4 16 Version pUID pATC Cryptogram B 8 bytes 8 4 4 18bytes input data pUID pUID pATC Shared Secret Cryptogram B 16 SymEncryption of 8 8 RND Cryptogram A

The UID field of the received message may be extracted to derive, frommaster keys Iss-Key-AUTH 905 and Iss-Key-DEK 910, the card master keys(Card-Key-Auth 925 and Card-Key-DEK 930) for that particular card. Usingthe card master keys (Card-Key-Auth 925 and Card-Key-DEK 930), thecounter (pATC) field of the received message may be used to derive thesession keys (Aut-Session-Key 935 and DEK-Session-Key 940) for thatparticular card. Cryptogram B 960 may be decrypted using theDEK-Session-KEY, which yields cryptogram A 955 and RND, and RND may bediscarded. The UID field may be used to look up the shared secret of thecontactless card which, along with the Ver, UID, and pATC fields of themessage, may be processed through the cryptographic MAC using there-created Aut-Session-Key to create a MAC output, such as MAC′. If MAC′is the same as cryptogram A 955, then this indicates that the messagedecryption and MAC checking have all passed. Then the pATC may be readto determine if it is valid.

During an authentication session, one or more cryptograms may begenerated by the one or more applications. For example, the one or morecryptograms may be generated as a 3DES MAC using ISO 9797-1 Algorithm 3with Method 2 padding via one or more session keys, such asAut-Session-Key 935. The input data 950 may take the following form:Version (2), pUID (8), pATC (4), Shared Secret (4). In some examples,the numbers in the brackets may comprise length in bytes. In someexamples, the shared secret may be generated by one or more randomnumber generators which may be configured to ensure, through one or moresecure processes, that the random number is unpredictable. In someexamples, the shared secret may comprise a random 4-byte binary numberinjected into the card at personalization time that is known by theauthentication service. During an authentication session, the sharedsecret may not be provided from the one or more applets to the mobileapplication. Method 2 padding may include adding a mandatory 0x′80′ byteto the end of input data and 0x′00′ bytes that may be added to the endof the resulting data up to the 8-byte boundary. The resultingcryptogram may comprise 8 bytes in length.

In some examples, one benefit of encrypting an unshared random number asthe first block with the MAC cryptogram, is that it acts as aninitialization vector while using CBC (Block chaining) mode of thesymmetric encryption algorithm. This allows the “scrambling” from blockto block without having to pre-establish either a fixed or dynamic IV.

By including the application transaction counter (pATC) as part of thedata included in the MAC cryptogram, the authentication service may beconfigured to determine if the value conveyed in the clear data has beentampered with. Moreover, by including the version in the one or morecryptograms, it is difficult for an attacker to purposefullymisrepresent the application version in an attempt to downgrade thestrength of the cryptographic solution. In some examples, the pATC maystart at zero and be updated by 1 each time the one or more applicationsgenerates authentication data. The authentication service may beconfigured to track the pATCs used during authentication sessions. Insome examples, when the authentication data uses a pATC equal to orlower than the previous value received by the authentication service,this may be interpreted as an attempt to replay an old message, and theauthenticated may be rejected. In some examples, where the pATC isgreater than the previous value received, this may be evaluated todetermine if it is within an acceptable range or threshold, and if itexceeds or is outside the range or threshold, verification may be deemedto have failed or be unreliable. In the MAC operation 936, data 950 isprocessed through the MAC using Aut-Session-Key 935 to produce MACoutput (cryptogram A) 955, which is encrypted.

In order to provide additional protection against brute force attacksexposing the keys on the card, it is desirable that the MAC cryptogram955 be enciphered. In some examples, data or cryptogram A 955 to beincluded in the ciphertext may comprise: Random number (8), cryptogram(8). In some examples, the numbers in the brackets may comprise lengthin bytes. In some examples, the random number may be generated by one ormore random number generators which may be configured to ensure, throughone or more secure processes, that the random number is unpredictable.The key used to encipher this data may comprise a session key. Forexample, the session key may comprise DEK-Session-Key 940. In theencryption operation 941, data or cryptogram A 955 and RND are processedusing DEK-Session-Key 940 to produce encrypted data, cryptogram B 960.The data 955 may be enciphered using 3DES in cipher block chaining modeto ensure that an attacker must run any attacks over all of theciphertext. As a non-limiting example, other algorithms, such asAdvanced Encryption Standard (AES), may be used. In some examples, aninitialization vector of 0x′0000000000000000′ may be used. Any attackerseeking to brute force the key used for enciphering this data will beunable to determine when the correct key has been used, as correctlydecrypted data will be indistinguishable from incorrectly decrypted datadue to its random appearance.

In order for the authentication service to validate the one or morecryptograms provided by the one or more applets, the following data mustbe conveyed from the one or more applets to the mobile device in theclear during an authentication session: version number to determine thecryptographic approach used and message format for validation of thecryptogram, which enables the approach to change in the future; pUID toretrieve cryptographic assets, and derive the card keys; and pATC toderive the session key used for the cryptogram.

FIG. 10 illustrates a method 1000 for generating a cryptogram. Forexample, at block 1010, a network profile record ID (pNPR) andderivation key index (pDKI) may be used to identify which Issuer MasterKeys to use in the cryptographic processes for authentication. In someexamples, the method may include performing the authentication toretrieve values of pNPR and pDKI for a contactless card at the time ofauthentication.

At block 1020, Issuer Master Keys may be diversified by combining themwith the card's unique ID number (pUID) and the PAN sequence number(PSN) of one or more applets, for example, a payment applet.

At block 1030, Card-Key-Auth and Card-Key-DEK (unique card keys) may becreated by diversifying the Issuer Master Keys to generate session keyswhich may be used to generate a MAC cryptogram.

At block 1040, the keys used to generate the cryptogram and encipher thedata in the one or more applets may comprise the session keys of block1030 based on the card unique keys (Card-Key-Auth and Card-Key-DEK). Insome examples, these session keys may be generated by the one or moreapplets and derived by using pATC, resulting in session keysAut-Session-Key and DEK-Session-Key.

FIG. 11 depicts an exemplary process 1100 illustrating keydiversification according to one example. Initially, a sender and therecipient may be provisioned with two different master keys. Forexample, a first master key may comprise the data encryption master key,and a second master key may comprise the data integrity master key. Thesender has a counter value, which may be updated at block 1110, andother data, such as data to be protected, which it may secure share withthe recipient.

At block 1120, the counter value may be encrypted by the sender usingthe data encryption master key to produce the data encryption derivedsession key, and the counter value may also be encrypted by the senderusing the data integrity master key to produce the data integrityderived session key. In some examples, a whole counter value or aportion of the counter value may be used during both encryptions.

In some examples, the counter value may not be encrypted. In theseexamples, the counter may be transmitted between the sender and therecipient in the clear, i.e., without encryption.

At block 1130, the data to be protected is processed with acryptographic MAC operation by the sender using the data integritysession key and a cryptographic MAC algorithm. The protected data,including plaintext and shared secret, may be used to produce a MACusing one of the session keys (AUT-Session-Key).

At block 1140, the data to be protected may be encrypted by the senderusing the data encryption derived session key in conjunction with asymmetric encryption algorithm. In some examples, the MAC is combinedwith an equal amount of random data, for example each 8 bytes long, andthen encrypted using the second session key (DEK-Session-Key).

At block 1150, the encrypted MAC is transmitted, from the sender to therecipient, with sufficient information to identify additional secretinformation (such as shared secret, master keys, etc.), for verificationof the cryptogram.

At block 1160, the recipient uses the received counter value toindependently derive the two derived session keys from the two masterkeys as explained above.

At block 1170, the data encryption derived session key is used inconjunction with the symmetric decryption operation to decrypt theprotected data. Additional processing on the exchanged data will thenoccur. In some examples, after the MAC is extracted, it is desirable toreproduce and match the MAC. For example, when verifying the cryptogram,it may be decrypted using appropriately generated session keys. Theprotected data may be reconstructed for verification. A MAC operationmay be performed using an appropriately generated session key todetermine if it matches the decrypted MAC. As the MAC operation is anirreversible process, the only way to verify is to attempt to recreateit from source data.

At block 1180, the data integrity derived session key is used inconjunction with the cryptographic MAC operation to verify that theprotected data has not been modified.

Some examples of the methods described herein may advantageously confirmwhen a successful authentication is determined when the followingconditions are met. First, the ability to verify the MAC shows that thederived session key was proper. The MAC may only be correct if thedecryption was successful and yielded the proper MAC value. Thesuccessful decryption may show that the correctly derived encryption keywas used to decrypt the encrypted MAC. Since the derived session keysare created using the master keys known only to the sender (e.g., thetransmitting device) and recipient (e.g., the receiving device), it maybe trusted that the contactless card which originally created the MACand encrypted the MAC is indeed authentic. Moreover, the counter valueused to derive the first and second session keys may be shown to bevalid and may be used to perform authentication operations.

Thereafter, the two derived session keys may be discarded, and the nextiteration of data exchange will update the counter value (returning toblock 1110) and a new set of session keys may be created (at block1120). In some examples, the combined random data may be discarded.

Example embodiments of systems and methods described herein may beconfigured to provide security factor authentication. The securityfactor authentication may comprise a plurality of processes. As part ofthe security factor authentication, a first process may comprise loggingin and validating a user via one or more applications executing on adevice. As a second process, the user may, responsive to successfullogin and validation of the first process via the one or moreapplications, engage in one or more behaviors associated with one ormore contactless cards. In effect, the security factor authenticationmay include both securely proving identity of the user and engaging inone or more types of behaviors, including but not limited to one or moretap gestures, associated with the contactless card. In some examples,the one or more tap gestures may comprise a tap of the contactless cardby the user to a device. In some examples, the device may comprise amobile device, a kiosk, a terminal, a tablet, or any other deviceconfigured to process a received tap gesture.

In some examples, the contactless card may be tapped to a device, suchas one or more computer kiosks or terminals, to verify identity so as toreceive a transactional item responsive to a purchase, such as a coffee.By using the contactless card, a secure method of proving identity in aloyalty program may be established. Securely proving the identity, forexample, to obtain a reward, coupon, offer, or the like or receipt of abenefit is established in a manner that is different than merelyscanning a bar card. For example, an encrypted transaction may occurbetween the contactless card and the device, which may configured toprocess one or more tap gestures. As explained above, the one or moreapplications may be configured to validate identity of the user and thencause the user to act or respond to it, for example, via one or more tapgestures. In some examples, data for example, bonus points, loyaltypoints, reward points, healthcare information, etc., may be written backto the contactless card.

In some examples, the contactless card may be tapped to a device, suchas a mobile device. As explained above, identity of the user may beverified by the one or more applications which would then grant the usera desired benefit based on verification of the identity.

In some examples, the contactless card may be activated by tapping to adevice, such as a mobile device. For example, the contactless card maycommunicate with an application of the device via a card reader of thedevice through NFC communication. The communication, in which a tap ofthe card proximate the card reader of the device may allow theapplication of the device to read data associated with the contactlesscard and activate the card. In some examples, the activation mayauthorize the card to be used to perform other functions, e.g.,purchases, access account or restricted information, or other functions.In some examples, the tap may activate or launch the application of thedevice and then initiate one or more actions or communications with oneor more servers to activate the contactless card. If the application isnot installed on the device, a tap of the contactless card proximate thecard reader may initiate a download of the application, such asnavigation to a download page of the application). Subsequent toinstallation, a tap of the contactless card may activate or launch theapplication, and then initiate, for example via the application or otherback-end communication), activation of the contactless card. Afteractivation, the contactless card may be used in various activities,including without limitation commercial transactions.

In some embodiments, a dedicated application may be configured toexecute on a client device to perform the activation of the contactlesscard. In other embodiments, a webportal, a web-based app, an applet,and/or the like may perform the activation. Activation may be performedon the client device, or the client device may merely act as a gobetween for the contactless card and an external device (e.g., accountserver). According to some embodiments, in providing activation, theapplication may indicate, to the account server, the type of deviceperforming the activation (e.g., personal computer, smartphone, tablet,or point-of-sale (POS) device). Further, the application may output, fortransmission, different and/or additional data to the account serverdepending on the type of device involved. For example, such data maycomprise information associated with a merchant, such as merchant type,merchant ID, and information associated with the device type itself,such as POS data and POS ID.

In some embodiments, the example authentication communication protocolmay mimic an offline dynamic data authentication protocol of the EMVstandard that is commonly performed between a transaction card and apoint-of-sale device, with some modifications. For example, because theexample authentication protocol is not used to complete a paymenttransaction with a card issuer/payment processor per se, some datavalues are not needed, and authentication may be performed withoutinvolving real-time online connectivity to the card issuer/paymentprocessor. As is known in the art, point of sale (POS) systems submittransactions including a transaction value to a card issuer. Whether theissuer approves or denies the transaction may be based on if the cardissuer recognizes the transaction value. Meanwhile, in certainembodiments of the present disclosure, transactions originating from amobile device lack the transaction value associated with the POSsystems. Therefore, in some embodiments, a dummy transaction value(i.e., a value recognizable to the card issuer and sufficient to allowactivation to occur) may be passed as part of the example authenticationcommunication protocol. POS based transactions may also declinetransactions based on the number of transaction attempts (e.g.,transaction counter). A number of attempts beyond a buffer value mayresult in a soft decline; the soft decline requiring furtherverification before accepting the transaction. In some implementations,a buffer value for the transaction counter may be modified to avoiddeclining legitimate transactions.

In some examples, the contactless card can selectively communicateinformation depending upon the recipient device. Once tapped, thecontactless card can recognize the device to which the tap is directed,and based on this recognition the contactless card can provideappropriate data for that device. This advantageously allows thecontactless card to transmit only the information required to completethe instant action or transaction, such as a payment or cardauthentication. By limiting the transmission of data and avoiding thetransmission of unnecessary data, both efficiency and data security canbe improved. The recognition and selective communication of informationcan be applied to a various scenarios, including card activation,balance transfers, account access attempts, commercial transactions, andstep-up fraud reduction.

If the contactless card tap is directed to a device running Apple's iOS®operating system, e.g., an iPhone, iPod, or iPad, the contactless cardcan recognize the iOS® operating system and transmit data appropriatedata to communicate with this device. For example, the contactless cardcan provide the encrypted identity information necessary to authenticatethe card using NDEF tags via, e.g., NFC. Similarly, if the contactlesscard tap is directed to a device running the Android® operating system,e.g., an Android® smartphone or tablet, the contactless card canrecognize the Android® operating system and transmit appropriate anddata to communicate with this device (such as the encrypted identityinformation necessary for authentication by the methods describedherein).

As another example, the contactless card tap can be directed to a POSdevice, including without limitation a kiosk, a checkout register, apayment station, or other terminal. Upon performance of the tap, thecontactless card can recognize the POS device and transmit only theinformation necessary for the action or transaction. For example, uponrecognition of a POS device used to complete a commercial transaction,the contactless card can communicate payment information necessary tocomplete the transaction under the EMV standard.

In some examples, the POS devices participating in the transaction canrequire or specify additional information, e.g., device-specificinformation, location-specific information, and transaction-specificinformation, that is to be provided by the contactless card. Forexample, once the POS device receives a data communication from thecontactless card, the POS device can recognize the contactless card andrequest the additional information necessary to complete an action ortransaction.

In some examples the POS device can be affiliated with an authorizedmerchant or other entity familiar with certain contactless cards oraccustomed to performing certain contactless card transactions. However,it is understood such an affiliation is not required for the performanceof the described methods.

In some examples, such as a shopping store, grocery store, conveniencestore, or the like, the contactless card may be tapped to a mobiledevice without having to open an application, to indicate a desire orintent to utilize one or more of reward points, loyalty points, coupons,offers, or the like to cover one or more purchases. Thus, an intentionbehind the purchase is provided.

In some examples, the one or more applications may be configured todetermine that it was launched via one or more tap gestures of thecontactless card, such that a launch occurred at 3:51 pm, that atransaction was processed or took place at 3:56 pm, in order to verifyidentity of the user.

In some examples, the one or more applications may be configured tocontrol one or more actions responsive to the one or more tap gestures.For example, the one or more actions may comprise collecting rewards,collecting points, determine the most important purchase, determine theleast costly purchase, and/or reconfigure, in real-time, to anotheraction.

In some examples, data may be collected on tap behaviors asbiometric/gestural authentication. For example, a unique identifier thatis cryptographically secure and not susceptible to interception may betransmitted to one or more backend services. The unique identifier maybe configured to look up secondary information about individual. Thesecondary information may comprise personally identifiable informationabout the user. In some examples, the secondary information may bestored within the contactless card.

In some examples, the device may comprise an application that splitsbills or check for payment amongst a plurality of individuals. Forexample, each individual may possess a contactless card, and may becustomers of the same issuing financial institution, but it is notnecessary. Each of these individuals may receive a push notification ontheir device, via the application, to split the purchase. Rather thanaccepting only one card tap to indicate payment, other contactless cardsmay be used. In some examples, individuals who have different financialinstitutions may possess contactless cards to provide information toinitiate one or more payment requests from the card-tapping individual.

The following example use cases describe examples of particularimplementations of the present disclosure. These are intended solely forexplanatory purposes and not for purposes of limitation. In one case, afirst friend (payor) owes a second friend (payee) a sum of money. Ratherthan going to an ATM or requiring exchange through a peer-to-peerapplication, payor wishes to pay via payee's smartphone (or otherdevice) using a contactless card. Payee logs-on to the appropriateapplication on his smartphone and selects a payment request option. Inresponse, the application requests authentication via payee'scontactless card. For example, the application outputs a displayrequesting that payee tap his contactless card. Once payee taps hiscontactless card against the screen of his smartphone with theapplication enabled, the contactless card is read and verified. Next,the application displays a prompt for payor to tap his contactless cardto send payment. After the payor taps his contactless card, theapplication reads the card information and transmits, via an associatedprocessor, a request for payment to payor's card issuer. The card issuerprocesses the transaction and sends a status indicator of thetransaction to the smartphone. The application then outputs for displaythe status indicator of the transaction.

In another example case, a credit card customer may receive a new creditcard (or debit card, other payment card, or any other card requiringactivation) in the mail. Rather than activating the card by calling aprovided telephone number associated with the card issuer or visiting awebsite, the customer may decide to activate the card via an applicationon his or her device (e.g., a mobile device such as a smartphone). Thecustomer may select the card activation feature from the application'smenu that is displayed on a display of the device. The application mayprompt the customer to tap his or her credit card against the screen.Upon tapping the credit card against the screen of the device, theapplication may be configured to communicate with a server, such as acard issuer server which activates the customer's card. The applicationmay then displays a message indicating successful activation of thecard. The card activation would then be complete.

FIG. 12 illustrates a method 1200 for card activation according to anexample embodiment. For example, card activation may be completed by asystem including a card, a device, and one or more servers. Thecontactless card, device, and one or more servers may reference same orsimilar components that were previously explained above with referenceto FIG. 1A, FIG. 1B, FIG. 5A, and FIG. 5B, such as contactless card 105,client device 110, and server 120.

In block 1210, the card may be configured to dynamically generate data.In some examples, this data may include information such as an accountnumber, card identifier, card verification value, or phone number, whichmay be transmitted from the card to the device. In some examples, one ormore portions of the data may be encrypted via the systems and methodsdisclosed herein.

In block 1220, one or more portions of the dynamically generated datamay be communicated to an application of the device via NFC or otherwireless communication. For example, a tap of the card proximate to thedevice may allow the application of the device to read the one or moreportions of the data associated with the contactless card. In someexamples, if the device does not comprise an application to assist inactivation of the card, the tap of the card may direct the device orprompt the customer to a software application store to download anassociated application to activate the card. In some examples, the usermay be prompted to sufficiently gesture, place, or orient the cardtowards a surface of the device, such as either at an angle or flatlyplaced on, near, or proximate the surface of the device. Responsive to asufficient gesture, placement and/or orientation of the card, the devicemay proceed to transmit the one or more encrypted portions of datareceived from the card to the one or more servers.

In block 1230, the one or more portions of the data may be communicatedto one or more servers, such as a card issuer server. For example, oneor more encrypted portions of the data may be transmitted from thedevice to the card issuer server for activation of the card.

In block 1240, the one or more servers may decrypt the one or moreencrypted portions of the data via the systems and methods disclosedherein. For example, the one or more servers may receive the encrypteddata from the device and may decrypt it in order to compare the receiveddata to record data accessible to the one or more servers. If aresulting comparison of the one or more decrypted portions of the databy the one or more servers yields a successful match, the card may beactivated. If the resulting comparison of the one or more decryptedportions of the data by the one or more servers yields an unsuccessfulmatch, one or more processes may take place. For example, responsive tothe determination of the unsuccessful match, the user may be prompted totap, swipe, or wave gesture the card again. In this case, there may be apredetermined threshold comprising a number of attempts that the user ispermitted to activate the card. Alternatively, the user may receive anotification, such as a message on his or her device indicative of theunsuccessful attempt of card verification and to call, email or text anassociated service for assistance to activate the card, or anothernotification, such as a phone call on his or her device indicative ofthe unsuccessful attempt of card verification and to call, email or textan associated service for assistance to activate the card, or anothernotification, such as an email indicative of the unsuccessful attempt ofcard verification and to call, email or text an associated service forassistance to activate the card.

In block 1250, the one or more servers may transmit a return messagebased on the successful activation of the card. For example, the devicemay be configured to receive output from the one or more serversindicative of a successful activation of the card by the one or moreservers. The device may be configured to display a message indicatingsuccessful activation of the card. Once the card has been activated, thecard may be configured to discontinue dynamically generating data so asto avoid fraudulent use. In this manner, the card may not be activatedthereafter, and the one or more servers are notified that the card hasalready been activated.

In another example case, a customer wants to access his financialaccounts on his or her mobile phone. The customer launches anapplication (e.g., a bank application) on the mobile device and inputs ausername and password. At this stage, the customer may see first-levelaccount information (e.g., recent purchases) and be able to performfirst-level account options (e.g., pay credit-card). However, if theuser attempts to access second-level account information (e.g., spendinglimit) or perform a second-level account option (e.g., transfer toexternal system) he must have a second-factor authentication.Accordingly, the application requests that a user provide a transactioncard (e.g., credit card) for account verification. The user then tapshis credit card to the mobile device, and the application verifies thatthe credit card corresponds to the user's account. Thereafter, the usermay view second-level account data and/or perform second-level accountfunctions.

The systems and methods described herein enable personalization of oneor more applets of the contactless card with a plurality of keys. Insome examples, rather than using one key, or alternating between twokeys, a plurality of keys of the contactless card may be used in aprearranged rotation to encrypt the MAC. A server may have a prearrangedor random rotation pattern of keys to allow it to perform one or morecryptographic operations, including but not limited to decryption ofmessages. As a consequence, the techniques described herein provide avariety of benefits, including increased security for consumers andissuing institutions, reduced processing time based on key patternselection, rotation, and synchronization, and difficulty in predictingkeys to perform cryptographic operations.

FIG. 13 illustrates a system 1300, the system comprising a secureencryption system. In some examples, the system 1300 may be configuredto make it difficult for an attacker to predict which key to use for oneor more cryptographic operations, including but not limited tocryptogram generation, encryption, or decryption. Although brute forceby the attacker may attempt to predict which key to use, here aplurality of keys are utilized to thereby complicate the prediction ofkeys for different cryptographic operations. For example, thecontactless card 1305 and one or more servers 1320 may be configured toperform one or more cryptographic operations using the plurality of keysupon performance of one or more gestures by the contactless card 1305 toclient application of the client device 1310. System 1300 may comprise acontactless card 1305, a client device 1310, and one or more servers1320. Although FIG. 13 illustrates single instances of the components,system 1300 may include any number of components. The contactless card1305, client device 1310, and one or more servers 1320 may referencesame or similar components that were previously explained above withreference to FIG. 1A, FIG. 1B, FIG. 5A, and FIG. 5B, such as contactlesscard 105, client device 110, and server 120. It is understood that thecontactless card 1305 may be another device, such as a device that isthe same or similar to the client device 1310.

The contactless card 1305 may include, but not be limited to, aprocessor 1307 and a memory 1309. The memory 1309 may include one ormore applets 1311. In some examples, applet 1311 may be configured torotate the plurality of keys based on a predetermined key rotation. Thecontactless card 1305 may be in data communication with client device1310. The contactless card 1305 may be configured to perform one or morecryptographic operations using the plurality of keys upon performance ofone or more gestures by the contactless card 1305 to a clientapplication of client device 1310. Applet 1311 may be configured toselect one or more keys from the plurality of keys for use in one ormore cryptographic operations. Applet 1311 may be configured to performthe one or more cryptographic operations based on the selected one ormore keys and the counter to generate a cryptographic result. Thecryptographic result and the counter may be transmitted from the applet1311 for verification, such as to one or more servers 1320 fordecryption.

The plurality of keys may be synchronized between the contactless card1305 and one or more servers 1320. For example, based on the counter1313, one or more keys may be selected that have been agreed uponbetween the contactless card 1305 and the one or more servers 1320. Insome examples, the counter 1313 of the contactless card 1305 may beconfigured to select one or more keys. For some numbers of the counter1313, different types of keys may be used. For example, a first set ofkeys may be used for a first set of numbers, a second set of keys may beused for a second set of numbers, and a third set of keys may be usedfor a third set of numbers, and so on. In some examples, the first setof keys may comprise one or more symmetric keys. In some examples, thesecond set of keys may comprise one or more public keys. For example, ifa public key is used, one of a set of key pairs may be selected. For adigital signature operation, the private key of the key pair may beused. The stored or generated public key corresponding to the privatekey may be used to validate it. For encryption, one of a plurality ofpublic keys stored in contactless card 1305 may be selected, which maycorrespond to private keys stored in or retrieved by one or more servers1320. In some examples, only one or more servers 1320 may performdecryption. Thus, the difficulty of determining or reversing it wouldincrease since it is not certain which key was used.

In some examples, different encryption techniques may be utilized. Afirst algorithm may be used for a first portion of a sequence of thecounter 1313, a second algorithm may be used for a second portion of thesequence of the counter 1313. For example, 3DES or AES may be used for afirst portion of the sequence, including but not limited to odd numbers,and public/private key encryption may be used for a second portion ofthe sequence, including but not limited to even numbers. In this manner,and by way of example, one or more algorithms may be used such that aplurality of different symmetric algorithms, including but not limitedto AES and 3DES, or a plurality of different public key algorithms,including but not limited to RSA and SSH, may be alternated amongstdifferent portions, such as first and second portions, respectively, ofthe sequence. As a consequence, this makes it difficult to predict keysequence to perform cryptographic operations.

The client device 1310 may include, but not limited to, a processor1315, a memory 1317. The client device 1310 may be in data communicationwith the contactless card 1305. The client device 1310 may be configuredto receive data from the contactless card 1305 via one or more reads byone or more gestures of the contactless card 1305. The client device1310 may be in data communication with the one or more servers 1320.

The one or more servers 1320 may be in communication with the clientdevice 1310 to receive data. The contactless card 1305 may be configuredto rotate the plurality of keys in a predetermined manner or randommanner. In some examples, the plurality of keys may be rotated by theone or more servers 1320. The rotation of the keys may be associatedwith one or more mapping tables. For example, the plurality of keys maybe rotated by the one or more servers 1320 in a predetermined manner. Insome examples, the mapping table may include a plurality of transactionsassociated with a plurality of keys. The plurality of transactions maybe associated with performing one or more cryptographic operations. Forexample, a first transaction of the mapping table may utilize a firstkey, a second transaction may utilize a second key (different from thefirst key), and a third transaction may utilize a third key (differentfrom the first and second keys), and so on. In this manner, the one ormore servers 1320 may be configured to determine a mapping associationbetween the plurality of keys and the plurality of transactions so as toprovide predictability and security regarding the utilized keys forperforming the one or more cryptographic operations. In some examples, aknown algorithm may be utilized and based on a transaction counter toindex into a table of keys. For example, in a function illustrated bykey=keytable[(7*pATC) % nKeys], pATC may refer to the transactioncounter, and nKeys may refer to the number of keys.

In other examples, the plurality of keys may be rotated at random by theone or more servers 1320. For example, the one or more servers 1320 maybe configured to iterate all known combinations for the plurality ofkeys as part of the rotation process. This may result in acomputationally less intensive process than a rotation that is subjectto a predetermined manner. In particular, this would be beneficial for adesignated small number of keys since the process may incur reducedprocessing time. However, the predetermined manner of the plurality ofkeys may be configured to be computationally effective by selecting oneor more algorithms that are not taxing on computer processing resourcerequirements. In some examples, small numbers of keys may be effectivelyused randomly and save on storage and retrieval requests. In otherexamples, by utilizing a designated larger number of keys, the attackerincurs increased cost and difficulty as they would have to brute forceall keys to emulate the valid response, and also has limited examplesfor any given key to use as part of the brute force attack. For example,the random rotation of the plurality of keys by the one or more servers1320 may be preferred for a small number of keys. In some examples, thecounter of the contactless card 1305 and one or more servers 1320 may beupdated after each cryptographic operation.

In other examples, the plurality of keys may be ordered and then rotatedbased on a sequence interval. For example, the keys may ordered in asequence of first key, second key, third key, fourth key, fifth key,sixth key, etc. and the sequence interval may be specified to a value oftwo. Accordingly, the keys may be rotated in the order of first key,third key, and fifth key, and the second key, fourth, key, and sixth keywould be skipped. In some examples, the sequence interval may beassigned a value based on a set schedule of values, a value based on atemporal relationship including but not limited to day of the week,month of the year, date, time, or any combination thereof. In otherexamples, the sequence interval may be based on the user, user history,a categorization of the user based on frequency of transactions,transaction history, risk, or any combination thereof. In otherexamples, the sequence interval may be based on the type of merchant,type of transaction, location of transaction, or any combinationthereof.

Upon receipt of the cryptographic result, the one or more servers 1320may be configured to rotate the plurality of keys based on thepredetermined key rotation. The one or more servers 1320 may beconfigured to select one or more keys from the plurality of keys for adecryption operation. In some examples, the plurality of keys selectedby the one or more servers 1320 may match the plurality of keys selectedby the applet 1311. The one or more servers 1320 may be configured toperform the decryption operation on the cryptographic result.

FIG. 14 illustrates a method 1400 for securely encrypting data. Method1400 may reference same or similar components as described above withrespect to FIG. 13 .

At block 1410, the method 1400 may include rotating, upon performance ofone or more gestures by a contactless card, a plurality of keys based ona predetermined key rotation. In some examples, the contactless card maybe in communication with a client application of a client device. Thecontactless card may include an applet, counter, and the plurality ofkeys. Data communication may be established between a client applicationof the client device and the contactless card to transfer data by one ormore reads of an NDEF tag via one or more gestures. In some examples,the transmission may occur via one or more gestures by the contactlesscard. By way of example, the one or more gestures may include a tap,swipe, wave, or any combination thereof.

At block 1420, the method 1400 may include selecting, by the applet, oneor more keys from the plurality of keys for use in one or morecryptographic operations. The plurality of keys may be synchronizedbetween the contactless card and one or more servers, which may beconfigured to perform one or more cryptographic operations based onperformance of one or more gestures by the contactless card to clientapplication of client device. For example, based on the counter, one ormore keys may be selected that have been agreed upon between thecontactless card and the one or more servers. In some examples, thecounter of the contactless card may be configured to select one or morekeys. For some numbers of the counter, different types of keys may beused. For example, a first set of keys may be used for a first set ofnumbers, a second set of keys may be used for a second set of numbers,and a third set of keys may be used for a third set of numbers, and soon. In some examples, the first set of keys may comprise one or moresymmetric keys. In some examples, the second set of keys may compriseone or more public keys. For example, if a public key is used, one of aset of key pairs may be selected. For a digital signature operation, theprivate key of the key pair may be used. The stored or generated publickey corresponding to the private key may be used to validate it. Forencryption, one of a plurality of public keys stored in the contactlesscard may be selected, which may correspond to private keys stored in orretrieved by the one or more servers. In some examples, only one or moreservers may perform decryption. Thus, the difficulty of determining orreversing it would increase since it is not certain which key was used.

In some examples, different encryption techniques may be utilized. Afirst algorithm may be used for a first portion of a sequence of thecounter, a second algorithm may be used for a second portion of thesequence of the counter. For example, 3DES or AES may be used for afirst portion of the sequence, including but not limited to odd numbers,and public/private key encryption may be used for a second portion ofthe sequence, including but not limited to even numbers. In this manner,and by way of example, one or more algorithms may be used such that aplurality of different symmetric algorithms, including but not limitedto AES and 3DES, or a plurality of different public key algorithms,including but not limited to RSA and SSH, may be alternated amongstdifferent portions, such as first and second portions, respectively, ofthe sequence. As a consequence, this makes it difficult to predict keysequence to perform cryptographic operations.

At block 1430, the method 1400 may include performing the one or morecryptographic operations using the selected one or more keys and thecounter to generate a cryptographic result. The rotation of theplurality of keys may be performed by the contactless card in apredetermined or random manner. For example, the applet may beconfigured to perform the one or more cryptographic operations based onthe selected one or more keys and the counter to generate acryptographic result. The cryptographic result and the counter may betransmitted from the applet of the contactless card for verification,such as to one or more servers for decryption. The rotation of the keysmay be associated with one or more mapping tables. For example, theplurality of keys may be rotated by the one or more servers in apredetermined manner. In some examples, the mapping table may include aplurality of transactions associated with a plurality of keys. Theplurality of transactions may be associated with performing one or morecryptographic operations. For example, a first transaction of themapping table may utilize a first key, a second transaction may utilizea second different key, and a third transaction may utilize a thirddifferent key, and so on. In this manner, the one or more servers may beconfigured to determine a mapping association between the plurality ofkeys and the plurality of transactions so as to provide predictabilityand security regarding the utilized keys for performing the one or morecryptographic operations. In some examples, a known algorithm may beutilized and based on a transaction counter to index into a table ofkeys. For example, in a function illustrated by key=keytable[(7*pATC) %nKeys], pATC may refer to the transaction counter, and nKeys may referto the number of keys.

In other examples, the plurality of keys may be rotated at random by theone or more servers. For example, the one or more servers may beconfigured to iterate all known combinations for the plurality of keysas part of the rotation process. This may result in a computationallyless intensive process than a rotation that is subject to apredetermined manner. In particular, this would be beneficial for adesignated small number of keys since the process may incur reducedprocessing time. However, the predetermined manner of the plurality ofkeys may be configured to be computationally effective by selecting oneor more algorithms that are not taxing on computer processing resourcerequirements. In some examples, small numbers of keys may be effectivelyused randomly and save on storage and retrieval requests. In otherexamples, by utilizing a designated larger number of keys, the attackerincurs increased cost and difficulty as they would have to brute forceall keys to emulate the valid response, and also has limited examplesfor any given key to use as part of the brute force attack. For example,the random rotation of the plurality of keys by the one or more serversmay be preferred for a small number of keys.

At block 1440, the method 1400 may include transmitting, by thecontactless card, the cryptographic result for verification. Forexample, the cryptographic result may be transmitted by the contactlesscard to one or more servers for decryption. In some examples, thecounter of the contactless card and one or more servers may be updatedafter each cryptographic operation.

In other examples, the plurality of keys may be ordered and then rotatedbased on a sequence interval. For example, the keys may ordered in asequence of first key, second key, third key, fourth key, fifth key,sixth key, etc. and the sequence interval may be specified to a value oftwo. Accordingly, the keys may be rotated in the order of first key,third key, and fifth key, and the second key, fourth, key, and sixth keywould be skipped. In some examples, the sequence interval may beassigned a value based on a set schedule of values, a value based on atemporal relationship including but not limited to day of the week,month of the year, date, time, or any combination thereof. In otherexamples, the sequence interval may be based on the user, user history,a categorization of the user based on frequency of transactions,transaction history, risk, or any combination thereof. In otherexamples, the sequence interval may be based on the type of merchant,type of transaction, location of transaction, or any combinationthereof.

In some examples, the present disclosure refers to a tap of thecontactless card. However, it is understood that the present disclosureis not limited to a tap, and that the present disclosure includes othergestures (e.g., a wave or other movement of the card).

Throughout the specification and the claims, the following terms take atleast the meanings explicitly associated herein, unless the contextclearly dictates otherwise. The term “or” is intended to mean aninclusive “or.” Further, the terms “a,” “an,” and “the” are intended tomean one or more unless specified otherwise or clear from the context tobe directed to a singular form.

In this description, numerous specific details have been set forth. Itis to be understood, however, that implementations of the disclosedtechnology may be practiced without these specific details. In otherinstances, well-known methods, structures and techniques have not beenshown in detail in order not to obscure an understanding of thisdescription. References to “some examples,” “other examples,” “oneexample,” “an example,” “various examples,” “one embodiment,” “anembodiment,” “some embodiments,” “example embodiment,” “variousembodiments,” “one implementation,” “an implementation,” “exampleimplementation,” “various implementations,” “some implementations,”etc., indicate that the implementation(s) of the disclosed technology sodescribed may include a particular feature, structure, orcharacteristic, but not every implementation necessarily includes theparticular feature, structure, or characteristic. Further, repeated useof the phrases “in one example,” “in one embodiment,” or “in oneimplementation” does not necessarily refer to the same example,embodiment, or implementation, although it may.

As used herein, unless otherwise specified the use of the ordinaladjectives “first,” “second,” “third,” etc., to describe a commonobject, merely indicate that different instances of like objects arebeing referred to, and are not intended to imply that the objects sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

While certain implementations of the disclosed technology have beendescribed in connection with what is presently considered to be the mostpractical and various implementations, it is to be understood that thedisclosed technology is not to be limited to the disclosedimplementations, but on the contrary, is intended to cover variousmodifications and equivalent arrangements included within the scope ofthe appended claims. Although specific terms are employed herein, theyare used in a generic and descriptive sense only and not for purposes oflimitation.

This written description uses examples to disclose certainimplementations of the disclosed technology, including the best mode,and also to enable any person skilled in the art to practice certainimplementations of the disclosed technology, including making and usingany devices or systems and performing any incorporated methods. Thepatentable scope of certain implementations of the disclosed technologyis defined in the claims, and may include other examples that occur tothose skilled in the art. Such other examples are intended to be withinthe scope of the claims if they have structural elements that do notdiffer from the literal language of the claims, or if they includeequivalent structural elements with insubstantial differences from theliteral language of the claims.

What is claimed is:
 1. A contactless card, comprising: a processor; and a memory, the memory including an applet, a plurality of keys, and a counter comprising a sequence, wherein the applet is configured to: select a key from the plurality of keys, and generate a cryptographic result by: performing a first cryptographic operation using a first cryptographic algorithm and a first portion of the sequence, and performing a second cryptographic operation using a second cryptographic algorithm and a second portion of the sequence.
 2. The contactless card of claim 1, wherein the applet is further configured to generate the cryptographic result by performing the first cryptographic operation and the second cryptographic operations using the selected key.
 3. The contactless card of claim 1, wherein: the first cryptographic algorithm comprises a symmetric key algorithm, and the second cryptographic algorithm comprises an asymmetric key algorithm.
 4. The contactless card of claim 1, wherein: the first portion of the sequence comprises an even number, and the second portion of the sequence comprises an odd number.
 5. The contactless card of claim 1, wherein applet is further configured to rotate the plurality of keys in a random manner for a designated number of keys.
 6. The contactless card of claim 1, wherein the applet is further configured to select the key based on a sequence interval.
 7. The contactless card of claim 6, wherein the sequence interval comprises an integer value.
 8. The contactless card of claim 6, wherein the sequence interval is assigned based on a schedule of values.
 9. The contactless card of claim 6, wherein the sequence interval is assigned based on a temporal relationship.
 10. The contactless card of claim 9, wherein the temporal relationship is based on at least one selected from the group of a day of the week and a month of the year.
 11. The contactless card of claim 9, wherein the temporal relationship is based on at least one selected from the group of a date and a time.
 12. A method of data encryption performed by a contactless card comprising a processor and a memory, the memory containing an applet, a plurality of keys, and a counter comprising a sequence, the method comprising: selecting, by the applet, a key from the plurality of keys; and generating, by the applet, a cryptographic result, by: performing a first cryptographic operation using a first cryptographic algorithm and a first portion of the sequence, and performing a second cryptographic operation using a second cryptographic algorithm and a second portion of the sequence.
 13. The method of claim 12, wherein the applet is further configured to select the key based on a sequence interval.
 14. The method of claim 13, wherein the sequence interval is assigned based on at least one selected from the group of a user associated with the contactless card and a user history associated with the contactless card.
 15. The method of claim 13, wherein the sequence interval is assigned based on at least one selected from the group of a transaction history and a risk.
 16. The method of claim 13, wherein: the sequence interval is assigned based on a categorization of a user associated with the contactless card, and the categorization of the user is based on a frequency of transactions.
 17. A non-transitory computer-readable medium containing instructions for execution by a contactless card comprising a processor and a memory, the memory containing a plurality of keys and a counter comprising a sequence, wherein, upon execution, the instructions configure the contactless card to perform procedures comprising: selecting a key from the plurality of keys; and generating a cryptographic result, by: performing a first cryptographic operation using a first cryptographic algorithm and a first portion of the sequence, and performing a second cryptographic operation using a second cryptographic algorithm and a second portion of the sequence.
 18. The non-transitory computer-readable medium of claim 17, wherein the contactless card is further configured to select the key based on a sequence interval.
 19. The non-transitory computer-readable medium of claim 18, wherein the sequence interval is assigned based on at least one selected from the group of a type of transaction and a type of merchant involved in a transaction.
 20. The non-transitory computer-readable medium of claim 18, wherein the sequence interval is assigned based on a location of a transaction. 